This application relates to computer-aided-design systems, and in particular, to methods and systems for management of geometric objects in heterogeneous assemblies of such objects.
A computer-aided design (CAD) system is a tool for creating models of geometric objects on a computer system. These geometric objects, which are typically representative of physical structures, are built by a user using a series of commands that instruct the system to produce primitive entities such as solids, curves, or lines, to define their dimensions, to translate or rotate them through space, and to combine them in various ways. To create a model of a complex system, a user typically builds the simpler geometric objects representing components or sub-assemblies of the system and assembles those geometric objects to form more complex assemblies comprising several such geometric objects. When all the geometric objects comprising the assembly are generated by the same CAD system, such an assembly is referred to as a xe2x80x9chomogeneous assembly.xe2x80x9d When the geometric objects comprising the assembly are generated by different CAD systems, the assembly is a xe2x80x9cheterogeneous assembly.xe2x80x9d
A geometric object created by a CAD system is typically represented using a proprietary format that depends on the particular CAD system creating the object. Because the format for an object created by one CAD system is generally different from the format for an object created by another CAD system, it is often not possible for one CAD system to operate directly on an object created by another CAD system.
This inability of a CAD system to freely operate on objects created by other CAD systems is disadvantageous in an environment in which each of several users contributes a particular component or sub-assembly of a heterogeneous assembly. In such environments, which are increasingly common in the preparation of complex system models, different components are created with different CAD systems and integrated into a single heterogeneous assembly. For example, in the design of an artillery gun, one designer, using a first CAD system, may provide the barrel and breech, while another, using a second CAD system, may provide the wheels and axle, and yet another designer, using a third CAD system, may provide the shell. These three components, the wheel and axle, the barrel and breech and the shell, must then be integrated into a single heterogeneous assembly, either using one of the three CAD systems already used or using a fourth CAD system.
It is known in the art to translate a data structure representative of a geometric object in a source format into a corresponding data structure representative of the same geometric object in a target format. It is also known to represent geometric objects in a common format (for example, the IGES format) that is understood by a variety of CAD systems. Thus, the problem of assembling static collections of geometric objects into heterogeneous assemblies is largely solved.
A difficulty arises in assembling dynamic collections of geometric objects into heterogeneous assemblies. For example, it is sometimes necessary to later modify the geometric object created by a particular CAD system. Unless these alterations are communicated to all parties involved in the design of the structure, the other parts of the structure might not be modified in order to accommodate the change.
In the context of the foregoing example, the designer of the shell may, after extensive wind tunnel experiments, discover that a slight alteration in the shell""s diameter and length will improve its accuracy. Assuming, incorrectly, that such a minor change could not possibly affect his colleagues"" designs, he neglects to inform them. However, after production and field testing, it is discovered that, as a result of the slight change in the weight distribution, the gun is subject to a violent recoil when fired. As a result, the shell designer""s simple failure to communicate requires extensive redesign and retooling to correct the problem.
In the case of a homogeneous assembly, in which all designers work on the same CAD system and all components in the assembly are derived from the same CAD system, it is known in the art to automatically update a component already included in the assembly when a modification is made to that component by the designer who created it. A CAD system having this property is said to display xe2x80x9cassociativity.xe2x80x9d Thus, in the context of the above example, if all three designers had been using the same associative CAD system, the shell designer""s minor change to the shell would have been automatically incorporated into the finished structure and all parties would have been automatically notified of the change.
However, associativity has thus far not been extended to the case of a heterogeneous assembly. In the case of a heterogeneous assembly it is still incumbent on the designer who changes a component to communicate that change to others. Thus, although modern CAD systems have the ability to assemble geometric objects created in other CAD systems into a heterogeneous assembly, no procedure exists for automatically detecting the existence of a change in one of the geometric objects comprising the heterogeneous assembly and communicating the existence and nature of that change, in real-time, to other users operating on the assembly.
What is therefore desirable in the art is a method and system for enabling a CAD system to recognize that a constituent component of a heterogeneous assembly has been modified and to incorporate, at the discretion of the user of that CAD system, that modification into the heterogeneous assembly. Such a method and system would enable the heterogeneous assembly to at last be the functional equivalent of a homogeneous assembly.
A method by which a target CAD system detects a change in a constituent component, represented in a source format, of a heterogeneous assembly includes the steps of providing a master geometry representation of the heterogeneous assembly in a target format associated with the target CAD system. The method further includes the step of providing a change indicative means, for example a change flag, that indicates whether or not there have been any changes to the constituent component. The change indicative means is then monitored to detect any changes in the constituent component. Optionally, the method can include a further step of transmitting a message to the target CAD system upon a detection of a change in the constituent component.
To further improve performance, the method of the invention includes the steps of providing a mapping table for establishing a correspondence between the source format representation of the constituent component and a target format representation of that component. This is followed by the step of deriving, from the master geometry representation and the mapping table, a translated image model that represents the constituent component of the heterogeneous assembly, but in the target format.
A data processing system embodying the invention includes a first and second CAD system with associated first and second formats. The first CAD system operates upon the heterogeneous assembly while the second CAD system operates upon and modifies a constituent component of the heterogeneous assembly. The first and second CAD system are connected to each other by an associative topology bus. In addition to facilitating the transfer of data representative of the heterogeneous assembly and its constituent components between the first and second CAD systems, the associative topology bus, the operation of which is described below, alters the representation of the heterogeneous assembly so as to facilitate the detection of changes to the constituent components of the assembly.
In the preferred embodiment, the associative topology bus accomplishes this task by generating a master geometry representation of the heterogeneous assembly in the first format and providing a change flag indicative of the existence of a change in the constituent component of the heterogeneous assembly. The associative topology bus then monitors the change flag so as to detect any changes to the constituent component. Optionally, the associative topology bus takes the further step of notifying the first CAD system of the change in the constituent component so as to provide the user of the first CAD system with the option of accepting or rejecting the change.
To further improve its performance, the associative topology bus provides a mapping table for establishing a correspondence between the representation of the constituent component in the first format and a representation of the constituent component in the second format. This mapping table is then used, in conjunction with the master geometry representation, to derive a translated image model representative of the constituent component in the first format.
In addition to linking the first and second CAD systems to each other, the associative topology bus can link the first and second CAD systems, together with additional CAD systems, with a geometry database in which the constituent components of the heterogeneous assemblies are stored. This additional feature of the invention enables the system to be readily expandable to accommodate any number of CAD systems, all of which can operate on different constituent components of the heterogeneous assembly independently of each other. In such a system, the associative topology bus ensures that although the individual CAD systems can work independently of each other on their respective constituent components, the heterogeneous assembly itself is constantly kept up-to-date without the active efforts of the users of the individual CAD systems.